"""使用Pandas将“超市营业额2.xlsx”中上浮30%后，仍小于500，大于3000的数值，替换为交易额的均值"""
import pandas as pd

# 设置列对齐
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)

# 读取全部数据，使用默认索引
df = pd.read_excel(r'resources\超市营业额2.xlsx')

# 打印将交易额上浮30%后，仍小于500，大于3000的数据
print('将交易额上浮30%后，仍小于500的数据'.center(30, '='))
print(df.loc[df['交易额'] * (1 + 0.30) < 500], end='\n\n')
print('将交易额上浮30%后，大于500的数据'.center(30, '='))
print(df.loc[df['交易额'] * (1 + 0.30) > 3000], end='\n\n')

# 将交易额上浮30%后，仍小于500，大于3000的数值，替换为交易额的均值
df.loc[df['交易额'] * (1 + 0.30) < 500, '交易额'] = df['交易额'].mean()
df.loc[df['交易额'] * (1 + 0.30) > 3000, '交易额'] = df['交易额'].mean()

# 修改后的数据保存为文件'超市营业额2_交易额异常值调整结果.xlsx'
df.to_excel(r'resources\超市营业额2_交易额异常值调整结果.xlsx', index=False)
print('成功将修改后的数据保存为文件 超市营业额2_交易额异常值调整结果.xlsx ！')
